home *** CD-ROM | disk | FTP | other *** search
Wrap
<html> <head> <title>MonitorIT Net Tools</title> <link rel="stylesheet" type="text/css" href="css/rpmstyle.css"> <style> .GTabBox { height : 400; width : 630; border: none; background-color : activeborder } .StatMsg { background-color: white; color: infotext; font-family:arial; font-size: 8pt; font-weight: 500; } .StatMsg { height : 190px; width : 510px; border-style : solid; border-width : 2px; overflow : scroll } .StatMsg { border-top-color : #555555; border-left-color : #555555; border-bottom-color : #E0E0E0; border-right-color : #E0E0E0 } .Soptext { font-size: 8pt; font-weight: 500; color: windowtext } .Soptextb { font-size: 9pt; font-weight: bold; color: windowtext; background-color:activeborder } </style> </head> <body class="bodyc" language="JavaScript" RPMHostIP="!BreakoutBot:MonitorIP!" RPMHostPort="!BreakoutBot:MonitorPort!" RPMUserName="!BreakoutBot:UserName!" BOBDone="!BreakoutBot:Done!" onload="top.banner.savePageCoord(event,document.body,'ViewTools'); InitRpmCC_AG();" onbeforeunload="DiscoRpmCC_AG()" onresize="processSizeChange()" onclick="checkClick()" onkeydown="processBSP()"> <script LANGUAGE="JavaScript" src="js/MiscFunc.js"></script> <script LANGUAGE="JavaScript" src="js/ButtonFunc.js"></script> <script LANGUAGE="JavaScript"> <!-- var ignoreDBChangeEvent = false; var ReconnectEvent = false; var Hp = 82; var Tid = null; // Capture and ignore script errors window.onerror = wwScrErr; function wwScrErr() { return true; } /* On Load tell the Comm control to Connect to the Server */ function InitRpmCC_AG() { top.MainLoaded = true; // Flag that Main is now loaded initButtonState(); // set initial button state Hp = parseInt(document.body.RPMHostPort,10); RpmCC_AG.Connect(document.body.RPMHostIP,Hp, ""); processSizeChange(); } function processReconnect() { Tid = null; if ( RpmCC_AG.IsConnected() ) { Tid = setTimeout("processConnectionCheck()",30000); // Delay 30 secs then check connection return; } RpmCC_AG.Connect(document.body.RPMHostIP,Hp, ""); } function processConnectConfirmed() { // Restore Filter and Computer Store if ( ReconnectEvent == false ) { ReconnectEvent = true; } top.Rstatus.Pstat("Connected"); if ( Tid != null ) { clearTimeout(Tid); // stop timeout routine } Tid = setTimeout("processConnectionCheck()",30000); // Delay 30 secs then check connection } function processConnectionCheck() { Tid = null; RpmCC_AG.SendKeepAlive("Check"); Tid = setTimeout("processConnectionCheck()",30000); // Delay 30 secs then check connection } /* On Unload tell the Comm control to Disconnect from the Server */ function DiscoRpmCC_AG() { RpmCC_AG.Disconnect(); top.banner.processStopCommX(); if ( Tid != null ) { clearTimeout(Tid); // stop timeout routine } } /* Process Combo Tool Name Change Event */ function processToolName() { if (AG_ToolSel.selectedIndex == 0) { SetButtonState(GStartButton,"1"); } else { SetButtonState(GStartButton,"0"); } // no display by default tr_option.style.display = "none"; snmp_option.style.display = "none"; snmp_set_option.style.display = "none"; if (AG_ToolSel.selectedIndex == 1) { tr_option.style.display = ""; } else if (AG_ToolSel.selectedIndex == 4) { snmpoid.value="sysName; sysDescr; sysUpTime"; snmpoid.title="Accept these standard 'System' Object names or clear it for a default query; otherwise specify one or more OIDs or Object names that you want to query, separated by semi-colon"; snmp_option.style.display = ""; } else if (AG_ToolSel.selectedIndex == 5 || AG_ToolSel.selectedIndex == 6) { snmpoid.value="system"; snmpoid.title="Accept this standard 'System' Group name to start 'walking' the OID tree; otherwise specify a Group or Object name, or OID, that you want to query first"; snmp_option.style.display = ""; } else if (AG_ToolSel.selectedIndex == 7) { snmp_set_option.style.display = ""; } } // Process Start Button var IPAddress = null; var HostName = null; var Tid = null; function processStartButton() { ResetState = 0; // Verify Ip Address/Host Name specified if ( AG_Address.value == "" ) { alert("Please enter an IP Address or Server/Host Name"); top.Rstatus.Pstat("Please enter an IP Address or Server/Host Name",true); AG_Address.focus(); return; } processStart(); Tid = setTimeout("processGo()",100); // Delay then process } var ResolveFlag = "1"; var TTLive = "45"; var ToS = "0"; // general Type of Service var ToV = "5000"; // default t/o var ProbeV = "1"; var opid = null; var opnumber = null; var WalkCount = 0; function processGo() { var warr = new Array(); Tid = null // Determine HostName from IP Address or Vice-versa warr = AG_Address.value.split("."); // see if IP address specified if ( warr.length == 4 ) { // assume IP address is specified IPAddress = AG_Address.value; HostName = RpmMIL.ResolveIPAddrToName(IPAddress); } else { HostName = AG_Address.value; IPAddress = RpmMIL.ResolveNameToIPAddr(HostName); } // Process Tool selection SetButtonState(GStartButton,"1"); switch ( opnumber = AG_ToolSel.selectedIndex ) { case 1 : // Trace Route outHeader("Trace Route"); ResolveFlag = (resolveip.checked) ? "1" : "0"; TTLive = ttlv.options[ttlv.selectedIndex].value; ToS = tosv.options[tosv.selectedIndex].value; ToV = tov.options[tov.selectedIndex].value; ProbeV = probec.options[probec.selectedIndex].value; TRarg = IPAddress+","+ResolveFlag+",1,0,0,0,1,"+TTLive+",32,4,1,1,"+ToS+","+ToV+","+ProbeV; opid = RpmMIL.TraceRt(TRarg); SetButtonState(GResetButton,"0"); top.Rstatus.Pstat("Processing Trace Route"); break; case 2 : // DNS Lookup outHeader("DNS Lookup"); processDone(); break; case 3 : // PING outHeader("PING"); opid = RpmMIL.Ping(IPAddress,2,10); top.Rstatus.Pstat("Sending PING"); break; case 4 : // SNMP Viewer Get outHeader("SNMP Get"); var warr = new Array(); warr = snmpoid.value.split(";"); var oid = warr.join("^"); opid = RpmCC_AG.SnmpDiscovery(IPAddress,snmprqst.value+"~"+oid,"1","0",snmpto.value,"1~0"); SetButtonState(GResetButton,"0"); top.Rstatus.Pstat("Processing SNMP Get"); break; case 5 : // SNMP Viewer Get Next outHeader("SNMP Get_Next"); var warr = new Array(); warr = snmpoid.value.split(";"); var oid = warr.join("^"); opid = RpmCC_AG.SnmpDiscovery(IPAddress,snmprqst.value+"~"+oid,"1","0",snmpto.value,"1~1"); SetButtonState(GResetButton,"0"); top.Rstatus.Pstat("Processing SNMP Get_Next"); break; case 6 : // SNMP Viewer Walk MIB outHeader("SNMP Walk_MIB"); WalkCount = 0; var warr = new Array(); warr = snmpoid.value.split(";"); var oid = warr.join("^"); opid = RpmCC_AG.SnmpDiscovery(IPAddress,snmprqst.value+"~"+oid,"1","0",snmpto.value,"1~1"); SetButtonState(GResetButton,"0"); top.Rstatus.Pstat("Processing SNMP Walk_MIB"); break; case 7 : // SNMP Viewer Set outHeader("SNMP Set"); var warr = new Array(); warr = snmpwoid.value.split(";"); snmpwoid.value = warr[0]; opid = RpmCC_AG.SnmpDiscovery(IPAddress,snmpwcom.value+"~"+snmpwoid.value,"1","0",snmpwto.value,"1~2~"+snmpwvalue.value+"~"+snmpwtype.selectedIndex); SetButtonState(GResetButton,"0"); top.Rstatus.Pstat("Processing SNMP Set"); break; default : } } function outHeader(ttyp) { updateStatMessage("<br><span style='font-family: arial; font-size: 10pt; font-weight: 700;'>"+ttyp+": IP Address - '"+IPAddress+"'<br> Server/Host Name - '"+HostName+"'<br></span>"); } function processDone() { updateStatMessage("Done<br>"); top.Rstatus.Pstat("Done",true); SetButtonState(GResetButton,"1"); if (AG_ToolSel.selectedIndex != 0) { SetButtonState(GStartButton,"0"); } processReset(); } function processTraceRouteResponse(retc,rstrg) { var warr = new Array(); var warr1 = new Array(); if ( retc == "1" ) { processDone() } else { warr = rstrg.split(":"); if ( warr[2] == "Tracing" ) { updateStatMessage(" "+warr[2]+": "+warr[3]); processLogHeader(); } else { warr1 = warr[2].split(" "); var Tip = ( ResolveFlag == "1" ) ? warr1[8] : warr1[7]; var Tov = ( ResolveFlag == "1" ) ? warr1[10] : warr1[9]; outputLogEvent(warr1[7],Tip,Tov,warr1[2],warr1[5]) } } } function processPingResponse(Reason) { updateStatMessage(" "+Reason+"<br>"); processDone(); } function processSNMPViewerResponse(Reason, RStat) { var warr = new Array(); var NextOIDs = ""; if ( RStat == "0" ) { // if successful if ( opnumber == 5 || opnumber == 6) { warr = Reason.split("<br>"); Reason = warr[0]+"<br>"; if ( opnumber == 6) { if ( WalkCount++ > 0 ) { Reason = ""; } } for ( var i=1; i<warr.length-1; i+=3 ) { if ( i > 1 ) { NextOIDs += "; "; } NextOIDs += warr[i]; Reason += warr[i]+" : "+warr[i+1]+" : "+warr[i+2]; } snmpoid.value = NextOIDs; Reason += "<br>"; } updateStatMessage(Reason); if ( opnumber == 6 && ResetState == 0 ) { warr.length = 0; warr = snmpoid.value.split(";"); var oid = warr.join("^"); opid = RpmCC_AG.SnmpDiscovery(IPAddress,snmprqst.value+"~"+oid,"1","0",snmpto.value,"1~1"); } else { processDone(); } } else { if ( opnumber == 7 && Reason.indexOf("ariable does not exist") > 0 ) { // if set Reason += "<br>Check Write Community and Write permissions"; } Reason += "<br>"; updateStatMessage(Reason); processDone(); } } function updateStatMessage(sMsg) { StatusMessage.insertAdjacentHTML("beforeEnd",sMsg); StatusMessage.scrollIntoView(false); } function processClearButton() { StatusMessage.innerHTML = ""; SetButtonState(ClearButton,"1"); SetButtonState(StatusPrintButton,"1"); } var ResetState = 0; function processResetButton() { ResetState = 1; if ( opnumber == 1 ) { RpmMIL.CleanupTraceRtObject(opid); } updateStatMessage("<br>Canceled by User<br>"); top.Rstatus.Pstat("Canceled",true); SetButtonState(GResetButton,"1"); if (AG_ToolSel.selectedIndex != 0) { SetButtonState(GStartButton,"0"); } processReset(); } function processKeyPress() { /* get KeyCode and check if invalid */ kc = event.keyCode; stat = 1; // default to OK // Keys: ~ % [ ] # ! if (kc == 126 || kc == 37 || kc == 91 || kc == 93 || kc == 35 || kc == 33) { // Not acceptable stat = 0; } // Keys: * ? else if ( (kc == 42 || kc == 63) && event.srcElement.name != "AG_Name" ) { //Not acceptable stat = 0; } if (stat == 0) { // if Not Acceptable event.returnValue=false; top.Rstatus.Pstat("Keys ~%*?[]#! are not accepted for this field"); alert("Keys ~%*?[]#! are not accepted for this field"); } else { top.Rstatus.Pstat(""); // clear status line } } /* Set initial button state */ function initButtonState() { SetButtonState(GStartButton,"1"); SetButtonState(GResetButton,"1"); } function SetButtonState(BtObj,BState) { //BtObj.className = (BState == "0") ? "BoxButton" : "BoxButtonD"; BtObj.disabled = (BState == "0") ? "" : "disabled"; BtObj.bdis = BState; } function processStart() { SetCursor("wait"); top.banner.processStartComm(); SetButtonState(StatusPrintButton,"0"); SetButtonState(ClearButton,"0"); } function processReset() { opid = null; // reset SetCursor("auto"); top.banner.processStopCommX(); } function processSizeChange() { //PopUpContext Menu bCw = document.body.clientWidth; PopUpContextSize(bCw); } function PopUpContextOpen() { AG_ToolSel.style.visibility = "hidden"; if (AG_ToolSel.selectedIndex == 1) { tr_option.style.visibility = "hidden"; } } function PopUpContextClose() { AG_ToolSel.style.visibility = "visible"; if (AG_ToolSel.selectedIndex == 1) { tr_option.style.visibility = "visible"; } } var ELBgFlg = 1; function processLogHeader() { /* Format Output to Log Window */ FOps = "<div><table border='0' cellpadding='1' cellSpacing='1' width='100%'><tr>"; FOps += "<td width='200' align='center' class='Soptextb'>Name</td>"; FOps += "<td width='100' align='center' class='Soptextb'>IP Address</td>"; FOps += "<td width='40' align='center' class='Soptextb'>Time</td>"; FOps += "<td width='18' align='center' class='Soptextb'>TTL</td>"; FOps += "<td width='18' align='center' class='Soptextb'>Probe</td>"; FOps += "</tr></table></div>"; updateStatMessage(FOps); } function outputLogEvent(Dname,Dipadr,Dtime,Dttl,Dprobe) { if ((ELBgFlg ^= 1) == 0) { FOps = "<div style='background-color:white'>"; } else { FOps = "<div style='background-color:e8e8e8'>"; } FOps += "<table border='0' cellpadding='1' cellSpacing='1' width='100%'><tr>"; FOps += "<td width='200' align='left' class='Soptext'>"+Dname+"</td>"; FOps += "<td width='100' align='left' class='Soptext'>"+Dipadr+"</td>"; FOps += "<td width='40' align='left' class='Soptext'>"+Dtime+"</td>"; FOps += "<td width='18' align='left' class='Soptext'>"+Dttl+"</td>"; FOps += "<td width='18' align='left' class='Soptext'>"+Dprobe+"</td>"; FOps += "</tr></table></div>"; updateStatMessage(FOps); } // Print Status var DiscStatWindow = null; function processPrintStatus() { if ( !top.banner.IE55orBetter ) { alert("Print requires IE 5.5/SP1 or greater. Download current, free IE update from Microsoft's web site"); return; } SetButtonState(StatusPrintButton,"1"); FakeBut.click(); // simulate event to call "savePageCoord(...)" var wprop = "height="+top.banner.bCh+",width="+top.banner.bCw wprop += ",top="+(top.banner.bY-28)+",left="+(top.banner.bX-4)+",scrollbars"; var rName = ""+Math.random(); // use Random number to get unique Window name rName = rName.substring(2,rName.length); DiscStatWindow = window.open("",rName,wprop); if ( DiscStatWindow == null ) { return; } var dh = "<html><head><title>MonitorIT - Net Tools Results Report</title>"; dh += "<link rel='stylesheet' type='text/css' href='css/Rpmstyle.css'>"; dh += "<style>"; dh += ".Soptext { font-size: 8pt; font-weight: 500; color: windowtext }"; dh += ".Soptextb { font-size: 9pt; font-weight: bold; color: windowtext; background-color:activeborder }"; dh += "</style></head><body"; dh += " title='Exit to Close Window when Printing is complete'>"; dh += StatusMessageDiv.innerHTML; dh += '<script LANGUAGE="JavaScript">window.focus();'; dh += ' </script></body></html>'; DiscStatWindow.document.open(); DiscStatWindow.document.write(dh) DiscStatWindow.document.close(); DiscStatWindow.print(); SetButtonState(StatusPrintButton,"0"); } //--> </script> <script FOR="RpmCC_AG" EVENT="SnmpDiscovery(DevS)"> <!-- var warr = new Array(); var warr1 = new Array(); warr = DevS.split("~"); // parse out response var uid = "A"+warr[0]; warr[0] = "Successful" warr1 = warr[1].split(":"); vstat = (warr1[0] == "Err") ? "1": "0"; vmsg = (vstat == "0") ? warr.join("<br>") : warr[1]; processSNMPViewerResponse(vmsg, vstat); //--> </script> <script LANGUAGE="JavaScript" FOR="RpmMIL" EVENT="Response(ReqID,RetCode,Reason)"> <!-- if ( opid == null ) { return; // ignore } if ( opnumber == 3 ) { processPingResponse(Reason); } else if ( opnumber == 1 ) { processTraceRouteResponse(RetCode,Reason); } //--> </script> <script LANGUAGE="JavaScript" FOR="RpmCC_AG" EVENT="Connected()"> <!-- processConnectConfirmed(); //--> </script> <script LANGUAGE="JavaScript" FOR="RpmCC_AG" EVENT="Disconnected()"> <!-- top.Rstatus.Pstat("Disconnected",true); if ( Tid != null ) { clearTimeout(Tid); // stop timeout routine } Tid = setTimeout("processReconnect()",10000); // Delay 10 secs then try reconnnect //--> </script> <script LANGUAGE="JavaScript" FOR="RpmCC_AG" EVENT="DBChanged(cdata)"> <!-- //--> </script> <script LANGUAGE="JavaScript" FOR="RpmCC_AG" EVENT="StartCommunication()"> <!-- top.banner.processStartComm(); //--> </script> <script LANGUAGE="JavaScript" FOR="RpmCC_AG" EVENT="StopCommunication()"> <!-- top.banner.processStopComm(); //--> </script> <script LANGUAGE="JavaScript" src="js/PopUpMenuFunc.js"></script> <!-- Invisible Object to Support Simulated Click Event --> <button id="FakeBut" style="display:none" onclick="top.banner.savePageCoord(event,document.body,'AdminDataExport')"> </button> <object ID="RpmCC_AG" NAME="RpmCC_AG" WIDTH="14" HEIGHT="1" style="display:none" CLASSID="CLSID:D88C2358-FC83-11D1-BF49-00104B2D6F80" CODEBASE="controls/RPMComm.cab#version=5,1,0,2"> <param name="_Version" value="65536"> <param name="_ExtentX" value="2646"> <param name="_ExtentY" value="1341"> <param name="_StockProps" value="0"> </object> <object ID="RpmMIL" NAME="RpmMIL" WIDTH="14" HEIGHT="1" style="display:none" CLASSID="CLSID:19366A96-A776-11D3-81E6-00105A97FB7D" CODEBASE="controls/MonitorITLive.cab#version=4,2,2,0"> <param name="_Version" value="65536"> <param name="_ExtentX" value="2646"> <param name="_ExtentY" value="1341"> <param name="_StockProps" value="0"> </object> <center><div class="GTabBox" border="0" > <center> <div align="left" style="clear:both"> <table border="1" borderColor="activeborder" align="left"> <tr><td borderColorDark="graytext" borderColorLight="white" height="25" style="font-weight:800; font-size:12pt; background-color:threedhighlight; color:windowtext"> <img src="images/nettoolboxsm.gif" align="absmiddle" height="16" width="16"> Net Toolbox </td> </tr></table><br><br> </div> <div align="left" style="clear:both"> <table align="left" class="fldset" border="0" width="550" cellspacing="3" cellpadding="2" height="125"> <tr> <td width="550" height="120"> <table align="left" border="0" width="550" cellspacing="3" cellpadding="2" height="77"> <tr> <td width="150" align="right" class="inputlabel" height="1">Select Tool:</td> <td width="400" height="1"><select ONCHANGE="processToolName()" SIZE="1" NAME="AG_ToolSel" style="width: 200pt"> <option>-- Select a Net Tool --</option> <option> Trace Route </option> <option> DNS Lookup </option> <option> PING Server/Device </option> <option> SNMP Get </option> <option> SNMP Get_Next </option> <option> SNMP Walk MIB </option> <option> SNMP Set </option> </select> </td> </tr> <tr> <td width="150" align="right" class="inputlabel" height="1">Name/IP Address:</td> <td width="400" height="1"><input TYPE="text" SIZE="50" NAME="AG_Address" maxLength="64" onkeypress="processKeyPress();" onkeydown="processKeyDown();" onFocus="chkDisabled(this)"> </td> </tr> <tr width="550" height="48"> <td width="550" colspan="2"> <div id="tr_option" style="display:none" class="inputlabel" align="center"> Resolve IP Addresses: <input id="resolveip" type="checkbox" CHECKED > ProbeCount: <select id="probec"> <option value="1">1</option> <option value="2">2</option> <option value="3" selected>3</option> <option value="4">4</option> <option value="5">5</option> <option value="6">6</option> <option value="7">7</option> <option value="8">8</option> <option value="9">9</option> <option value="10">10</option> <option value="11">11</option> <option value="12">12</option> <option value="13">13</option> <option value="14">14</option> <option value="15">15</option></select> TimeOut: <select id="tov"> <option value="20">20 ms.</option> <option value="50">50 ms.</option> <option value="100">100 ms.</option> <option value="250">250 ms.</option> <option value="500">500 ms.</option> <option value="1000">1 sec.</option> <option value="5000" selected>5 sec.</option> <option value="10000">10 sec.</option> <option value="30000">30 sec.</option></select><br> TimeToLive: <select id="ttlv"> <option value="1">Local Network (TTL=1)</option> <option value="15">Local Site (TTL=15)</option> <option value="31">Enterprise (TTL=31)</option> <option value="63" selected>Region (TTL=63)</option> <option value="127">World (TTL=127)</option></select> TypeOfService: <select id="tosv"> <option value="0" selected>General</option> <option value="16">Low Delay</option> <option value="4">High Reliability</option> <option value="8">High Thruput</option></select> </div> <div id="snmp_option" style="display:none" class="inputlabel" align="center">Read Community: <input id="snmprqst" value="public" type="text" maxLength="45" size="40"> Time-Out: <input id="snmpto" value="2" type="text" maxLength="2" size="3"><br>OID(s): <input id="snmpoid" title="Accept these standard OIDs or clear it for a default query; otherwise specify one or more OIDs that you want to query, separated by semi-colon" value="sysName; sysDescr; sysUpTime" type="text" maxLength="180" size="77"> </div> <div id="snmp_set_option" style="display:none" class="inputlabel" align="center">Write Community: <input id="snmpwcom" value="public" type="text" maxLength="45" size="40"> Time-Out: <input id="snmpwto" value="2" type="text" maxLength="2" size="3"><br>Target OID: <input id="snmpwoid" title="OID to be set" type="text" maxLength="180" size="30"> Set Value: <input id="snmpwvalue" title="Value to be set" type="text" maxLength="100" size="15"> Type: <select id="snmpwtype"> <option value="1">COUNTER</option> <option value="2">LONG</option> <option value="3">UNSIGNED</option> <option value="4" selected>STRING</option> <option value="5">IP ADDRESS</option> </select> </div> </td> </tr> </table> </td> </tr> <tr> <td width="550" height="120"> <table border="0" width="550" cellspacing="3" cellpadding="2" height="77"> <tr> <td width="40" align="right" class="inputlabel" height="1">Result:</td> <td width="510" height="1"> <div class="StatMsg" id="StatusMessageDiv"> <table border="0" width="490" cellspacing="0" cellpadding="0" height="77"> <tr> <td width="*" align="left" height="1"> <span id="StatusMessage" style="color: infotext; font-family:arial; font-size: 8pt; font-weight: 500;"></span> </td> </tr> </table> </div> </td> </tr> </table> </td> </tr> </table> </div> <div align="left" style="clear:both"> <table class="fldset" border="1" width="600" cellspacing="1" cellpadding="1" height="40"> <tr> <td width="600" align="center" height="40"> <button id="GStartButton" title="Start execution of selected tool function" onclick="if (this.bdis == '0') processStartButton();" bdis="0" style="width:80px; height:28px" style="font-family:arial; font-size : 8pt; font-weight : 600; cursor:hand" disabled><img src="images/apply.gif" align="absmiddle" height="16" width="16">Start</button> <button id="GResetButton" title="Cancel tool operation" onclick="if (this.bdis == '0') processResetButton();" bdis="0" style="width:80px; height:28px" style="font-family:arial; font-size : 8pt; font-weight : 600; cursor:hand" disabled><img src="images/reset.gif" align="absmiddle" height="15" width="15">Cancel</button> <button id="ClearButton" style="font-family:arial; font-size : 8pt; font-weight : 600; cursor:hand" title="Clear the Result Log" style="width:90px; height:29px" onClick="processClearButton()" disabled><img src="images/unselectall.gif" align="absmiddle" height="15" width="14"> Clear Log</button> <button id="StatusPrintButton" title="Print Tools Results Log" onclick="if (this.bdis == '0') processPrintStatus();" bdis="0" style="width:85px; height:29px" style="font-family:arial; font-size : 8pt; font-weight : 600; cursor:hand" DISABLED><img src="images/Printer.gif" align="absmiddle" height="15" width="17"> Print</button></td> </tr> </table> </div> </div> </center> </body> </html>